Обновление до версии 0.19.0
Ресурсы
Изменения, нарушающие совместимость
Для пользователей dbt
Обратите внимание на следующие изменения в версии 0.19.0:
- Артефакты dbt имеют новую схему. С этого момента схемы артефактов официально версионируются на schemas.getdbt.com. Будущие изменения, нарушающие совместимость, будут ограничены минорными выпусками. Некоторые классы dbt, такие как объект
Result, имеют связанные изменения, нарушающие совместимость. - Функция Defer, бета-версия которой была представлена в v0.18.0, изменилась для лучшей поддержки использования "Slim CI".
- Блок
call statementтеперь возвращает структурированныйresponseвместо строкиstatus, хотя они выводятся одинаково. Если вы ранее обращались кstatement['status']в пользовательском макросе или материализации, теперь следует использоватьstatement['response'].
См. документацию ниже для получения более подробной информа ции. Мы не ожидаем, что эти изменения потребуют действий в большинстве проектов.
Устаревшие функции
Удалена поддержка config-version: 1 в dbt_project.yml, которая была устаревшей в v0.17.0. Используйте config-version: 2 во всех проектах и установленных пакетах. В противном случае dbt выдаст ошибку. См. документацию по config-version и Руководство по миграции v0.17.0 для получения подробной информации.
Для разработчиков плагинов dbt
(Вы знаете, кто вы!)
Связано с изменением №3 выше: Контекст results и артефакт run_results.json включают новый неструктурированный словарь под названием adapter_response. Это отражает структурированную информацию, возвращаемую базой данных после выполнения dbt "основного" запроса для модели, seed, snapshot и т.д.
По умолчанию этот словарь принимает такие ключи, как code (OK, SUCCESS, CREATE TABLE и т.д.) и rows_affected (целое число). Вы можете добавить пользовательские аргументы для отражения информации, специфичной для вашего адаптера. Например, dbt-bigquery заполняет дополнительный аргумент bytes_processed.
В рамках этого изменения:
- метод
SQLConnectionManagerget_statusбыл переименован вget_response executeтеперь возвращает кортеж вместо строки
См. dbt#2961 для получения полной информации о реализации. Хотя adapter_response пока не заполняется тестами или проверками свежести источников, мы надеемся добавить это в будущем выпуске (dbt#2964).